/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package component;

import controlP5.ControlP5;
import controlP5.Slider;
import controlP5.Textlabel;
import processing.core.PApplet;

/**
 *
 * @author Caliste
 */
public class LeftSoundProgressBar extends ASoundProgressBar
{              
    public LeftSoundProgressBar(PApplet mainApp, ControlP5 cp5)
    {
        super(mainApp, cp5);
        
        //_timeLine = controlP5.addSlider("timeLine");
        _timeLine = _cp5.addSlider("leftTimeLine");
        _timeLine.setPosition(20, 160);
        _timeLine.setSize(250,20);
        _timeLine.setRange(0,200);
        _timeLine.setLabelVisible(false);
        _timeLine.setLock(true);
        
        _tlSoundTimer = _cp5.addTextlabel("tlLeftSoundTimer");
        _tlSoundTimer.setSize(100, 80);
        _tlSoundTimer.setPosition(220, 165);
        _tlSoundTimer.setValue("Timeline");
    }
    
    /**
     * Cette methode permet d'initialiser
     * la position du composant TimeLine.
     * @param f
     * @param f1 
     */
    @Override
    public void SetPositionTimeLine(float f, float f1)
    {
        _timeLine.setPosition(f, f1);
    }
    
    /**
     * Cette methode permet d'initialiser
     * la position du composant SoundTimerLabel.
     * @param f
     * @param f1 
     */
    @Override
    public void SetPositionSoundTimerLabel(float f, float f1)
    {
        _tlSoundTimer.setPosition(f, f1);
    }
    
    /**
     * Cette methode permet de recuperer
     * le Slide correspondant à la progresse
     * barre de la musique.
     * @return Slider
     */
    @Override
    public Slider getTimeLine() {
        return _timeLine;
    }

    /**
     * Cette methode permet de mettre
     * a jour les valeurs de la propriete
     * Range de l'objet "TimeLine" (Slider)
     * @param f
     * @param f1 
     */
    @Override
    public void setRangeTimeLine(float f, float f1) {
        _timeLine.setRange(f, f1);
    }
    
    /**
     * Cette methode retourne
     * le composant Textlabel associer
     * au soundTimer. Afin de mettre
     * a jour la valeur en fonction du temps restant
     * du piste en lecture.
     * @return the _tlSoundTimer
     */
    @Override
    public Textlabel getTlSoundTimer() {
        return _tlSoundTimer;
    }
}
